pimicros.com.au

Embedded Programming

Pi Micros has been developing software for micro computers, micro controllers and Personal Computers for over 40 years. We are experienced in a range of development techniques, languages and systems.

We have made systems that measure and collect data, controll industrial equipment and public display systems. We use a variety of programming languages including C, C++, Pascal, Assembler, Java etc. We also have developed specialized languages for special purposes. We programme on every level from embedded customized multi tasking operating systems through to 4th generation systems like MySQL. On many projects we have used in-circuit emulators or other debug hardware and techniques. On some projects we structure the software so all hardware dependent I/O is contained in a minimal module. This is initially implemented on a PC with all I/O simulated or graphically setup. This allows the remaining code to be development and tested even before the target hardware exists. Once the target hardware is available, the I/O module is implementd and tested with the rest of the (already debugged) code on the target.

Some projects include ...

Hand Held Breathalizer

Pi Micros provided the firmware for the graphics, user interface and USB communications in a hand held breathalizer. The user interface features 3D style bezels, menus, buttons, status bar etc. The USB provides logged data and allows extra configuration with a PC.

Autoclave

Pi Micros provided the firmware for the user interface, graphics, RS232 communications and script processing for a medical Autoclave. A sample of the display is shown below.

Gas Meter

Pi Micros developed the firmware for a gas meter awaiting release by a major manufacturing company. The firmware must process measurements, communications and drive an LCD. The simulator used in development is shown below.

Email Electricity Meter

Pi Micros developed the firmware for several single and poly phase meters for Email Meters. The firmware must process measurements and communications, drive the LCD, handle button commands, handle power fail & recovery and perform a variety of additional functions that are user configurable.

Empro: Hand Held programmer

This portable unit programmes Email Electricity Meters. Normally these are programmed with a laptop. The EMPRO provides a go-between by emulating a meter (to "learn" a set of configurations) and later emulating a PC (to programme meters on site with a specified configuration). Pi Micros developed the firmware for this and was also a major consultant in the hardware design and specification.

Industrial Modules

For our own modules we developed the multi tasking OS with communications and time critical event handling. These modules all communicate using our proprietary network via RS485. Each module is non-application specific, providing data and driving outputs as commanded by the controller module (CM). The CM has all the application specific code, drives an LCD and keypad and communications with PCs or other systems outside the RS484 network. A PC is often used independently to provide a user front end for status display and configuration.

DLU32: Data Logger:

The DLU32 features a USB port which conforms to the "Human Interface Device" specification, but is vendor specific. This allows it to work immediately on Windows (or Linux) without any special drivers. The unit also features configurable software debouncing on all 32 inputs.

Gas Detector Interface

Pi Micros wrote the firmware which gave MSA remote access to their poisonous gas detector by simulating a standard industrial protocol.

Elevator Group controller

Pi Micros wrote the interfacing software for EPL's progressive logic group controller. This was fully tested & debugged on a PC before seeing a real lift by simulating all inputs and outputs. Now working in hundreds of lifts around and outside of Australia.